home *** CD-ROM | disk | FTP | other *** search
/ PC World 2002 June / PCWorld_2002-06_cd.bin / Software / Vyzkuste / girder / girder312e.exe / {app} / help / ievent_readme.txt < prev    next >
Text File  |  2002-03-16  |  7KB  |  184 lines

  1. Internet EventServer
  2. Copyright 2002 (c) Ron Bessems
  3.  
  4.  
  5. Description:
  6.  
  7.     This is the replacement for the old TCPIP server.
  8.  
  9. Features:
  10.  
  11.     * passwords are sent encrypted over the network
  12.     * sniffing connection is useless as the encryption cookie changes every time
  13.     * abuse protection
  14.     * subnet matching
  15.     * MAC address matching
  16.     * hostname matching
  17.     * all host allow
  18.  
  19.  
  20. Configuration of the server:
  21.  
  22.     - Open the settings dialog
  23.     - Go to the hardware tab
  24.     - Select the Internet Eventserver
  25.     - If the Internet Evenserver isn't checked, check it now, and press apply.
  26.     - If needed reselect the Internet Eventserver
  27.     - Press settings
  28.  
  29.     Now the settings dialog of the eventserver is open.
  30.  
  31.     If this computer is connected to the internet we first want to deselect 
  32.     "Allow All" and only allow certain trusted hosts. See below the part
  33.     about "Allowed Hosts"
  34.     
  35.     Now we want to set the Password and the port number, be sure to choose
  36.     something different from the default :-)
  37.  
  38.     If you don't care about the abuse protection or are experimenting you
  39.     can turn it off. What the abuse protection does is it prevent hosts that
  40.     are guessing the password from doing this fast. If the hosts that just
  41.     tried a incorrect password connects again within 5 seconds it will get
  42.     no special error it will look as if the password it gave was incorrect.
  43.     If it keeps trying the time before the next allowed login grows linear
  44.     with the number of tries. This prevents people from brute force guessing
  45.     the password that you use on your server.
  46.  
  47.  
  48. Configuration: Allowed Hosts
  49.     
  50.     In the hostname box you can type the name of the host that you want to 
  51.     allow. The program expects the following convention:
  52.  
  53.     * Match single IP address : #.#.#.# 
  54.  
  55.       For example 131.155.1.1
  56.  
  57.     * Match range of IP addresses: #.#.#.#/#
  58.       
  59.       The first 4 number are as always the IP address number, the last
  60.       is the subnet mask, this can be 0,8,16,24 or 32. It signifies
  61.       what part of the hostname should be compared to the incoming 
  62.       connection for example:
  63.  
  64.       You want to allow you whole local network to access the server,
  65.       you local network has ip address in the range 131.155.#.# so
  66.       you'd type 131.155.0.0/16, now every ip that begins with 131.155
  67.       will match.
  68.  
  69.       If you have a subnet that has 131.155.224.# as the range you'd
  70.       type 131.155.224.0/24.
  71.  
  72.       Taking this all the way if you only want to allow 1 host you could
  73.       type 131.155.224.29/32. This is the same as leaving the /32 out.
  74.       
  75.       Now if you want to allow the whole internet to share in the fun,
  76.       you'd type 0.0.0.0/0 Needless to say this is not recomended.
  77.  
  78.     * Match Hostname
  79.  
  80.       To match a single hostname type /<hostname>, the slash in front
  81.       is very important, the program detects this and applies the correct
  82.       matching routines.
  83.  
  84.       For example you want to allow girder.nl access, now you would type
  85.       /girder.nl
  86.  
  87.     * Match MAC address.
  88.  
  89.       The MAC address is the hardware address of the network card. Windows
  90.       keeps a list of these in its cache, however it does not see them
  91.       from all over the internet, so this will only work on your local 
  92.       network, before the router kicks in. You can check if the MAC address
  93.       is in the hostcache by typing "arp -a". If the number isn't in there
  94.       too bad the matching won't work.
  95.  
  96.       #:#:#:#:#:# where the # are hexadecimal numbers. You can find the
  97.       MAC address of your network card through winipcfg (win9x) or 
  98.       ipconfig -all ( win2k).
  99.  
  100.  
  101. Configuration of the Girder Client
  102.  
  103.     First make sure that the Internet Event Server client is enabled in the 
  104.     settings dialog and that the Internet Server is configured properly 
  105.     and enabled.
  106.  
  107.     - Open the settings window
  108.     - Go to the action plugin tab
  109.     - Check the Internet Server Client
  110.     - Press apply.
  111.  
  112.     Now add a command, select this and go to the plugin tab.
  113.     Select the Internet Event client and press settings.
  114.     A dialog will popup prompting you for the hostname, port,
  115.     password and eventstring. Carefully fill these in. With this
  116.     client you can connect to a Girder Internet Event server on
  117.     a different computer, thus controlling Girder from a different
  118.     computer.
  119.  
  120. Configuration of the console client
  121.  
  122.     Well there isn't much to configure just open a dos box and
  123.     type "ieventc <hostname> <port> <password> <eventstring>"
  124.     of course replace the <x> stuff with the real values
  125.  
  126. Configuration of the php client
  127.  
  128.     Just upload and use it, it is meant as an example, you can
  129.     take the function "SendEventString" out of this php file
  130.     and use it in your own projects.
  131.  
  132.  
  133. Description of the Protocol
  134.  
  135.     The protocol for the Internet Event server was designed with security
  136.     in mind. As such I took a good look at the APOP protocol and based 
  137.     the protocol on this.
  138.  
  139.     This is how it works:
  140.  
  141.     * The client connects to the server
  142.     * The client sends "quintessence\n" to wake the server up. 
  143.       the reason for this is to prevent portscanning from finding out
  144.       that this is a Girder client easily.
  145.     * The server will respond with a cookie, this is a 4 character
  146.       hexadecimal number that you will use next
  147.  
  148.     * With the cookie we are now going to create the encrypted response
  149.       
  150.       - first make a string <cookie>:<password>
  151.       for example the cookie was 6c2f and the password is NewDefPWD
  152.       the string would be "6c2f:NewDefPWD" (don't use the quotes)
  153.       - Pass this string to a MD5 digest calculator, this gives you
  154.       a string like this
  155.          
  156.          b1aa58f5050feb6f3643cf737088dac6
  157.  
  158.       Send this to the server. 
  159.     * If the digest was correct the server will respond with a 
  160.        "accept\n"
  161.     * Now you are allowed to send any string as long as it ends
  162.       with a "\n".
  163.       So sending "hello\n" will result in an eventstring of "hello"
  164.     * To close the connection you can send "close\n" and close the 
  165.       connection. ( This also means that close cannot be used as an
  166.       eventstring )
  167.  
  168.  
  169. Troubleshooting
  170.  
  171.     If the server doesn't want to load or behaves strangely and you
  172.     are running Windows 95 please upgrade your winsock.
  173.  
  174.     http://www.microsoft.com/windows95/downloads/contents/wuadmintools/s_wunetworkingtools/w95sockets2/
  175.  
  176.     If none of the events are coming in also check your firewall.
  177.  
  178. Warning / Disclaimer
  179.  
  180.       Internet servers are inherently dangerous, there is always the possibility
  181.       of abuse. Although I have been very carefull to design the protocol as 
  182.       safe as possible I cannot garantuee anything, so please use with care.
  183.       I'm not responsible for any damage that occured because you used this 
  184.       plugin.